import { emptydata } from '../../../../../Classes/cla_emptydata/Classes/cla_emptydata';

const taskList_dataManaTag = 'taskList_dataMana';

class taskList_dataMana {
  get [Symbol.toStringTag]() {
    return taskList_dataManaTag;
  }

  constructor(taskName) {
    this.taskName = taskName;
  }

  /**
   * 当前 任务 名
   */
  taskName;

  /**
   * 任务 链
   */
  task_list = [];

  /**
   * 自定义 属性池
   * @type {emptydata}
   */
  pool_user = new emptydata();

  pool_calculated = new emptydata();

  /**
   * 在 自定义 属性 池 、计算结果 池 、全局 池 中
   * 尝试 获取 数据
   */
  get_value(key) {
    return (
      this.get_value_pool(key) ||
      this.get_value_pool_calculated(key) ||
      this.get_value_pool_global(key)
    );
  }

  /**
   * 在 自定义 属性 池 中 找寻 key 值
   * @param {string} key 关键字
   */
  get_value_pool(key) {
    return this.pool_user.get_key_val(key);
  }

  get_value_pool_calculated(key) {
    return this.pool_calculated.get_key_val(key);
  }

  get_value_pool_global(key) {
    return key;
  }
}

export { taskList_dataMana };
